Skip to content

feat: permissionless fault games at initial deploy#21588

Merged
mds1 merged 38 commits into
developfrom
feat/pcd-permissionless-opchain-deploy
Jul 10, 2026
Merged

feat: permissionless fault games at initial deploy#21588
mds1 merged 38 commits into
developfrom
feat/pcd-permissionless-opchain-deploy

Conversation

@lumoswiz

@lumoswiz lumoswiz commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Description

Lets new chains start with CANNON_KONA as the selected initial fault game when deploy inputs include a real starting anchor root and nonzero prestate. Legacy CANNON remains rejected for initial deployments.

For non-super-root permissionless deploys, this also registers PERMISSIONED_CANNON from genesis as the guardian fallback while keeping CANNON_KONA respected.

Tests

Updated deploy/OPCM coverage for selected CANNON_KONA initial deploys, permissioned fallback registration/use, legacy CANNON rejection, zero/prestate/root validation, placeholder-root rejection for permissionless deploys, super-root rejection, and unchanged permissioned deploys.

Additional context

#21625 deprecated legacy CANNON, so this PR implements #20913 for CANNON_KONA only. The 0xdead anchor remains allowed only for permissioned deploys until follow-up PR #21610 wires real pipeline state.

The permissioned fallback preserves the standard OP Stack emergency path for retiring an unsound permissionless game.

Metadata

Fixes #20913

Comment thread packages/contracts-bedrock/scripts/deploy/DeployOPChain.s.sol Outdated
Comment thread packages/contracts-bedrock/scripts/deploy/DeployOPChain.s.sol
@lumoswiz lumoswiz marked this pull request as ready for review July 2, 2026 07:59
@lumoswiz lumoswiz requested review from a team and mds1 July 2, 2026 07:59
@lumoswiz lumoswiz requested review from a team as code owners July 2, 2026 07:59
Comment thread packages/contracts-bedrock/src/L1/opcm/OPContractsManagerV2.sol
Comment thread packages/contracts-bedrock/src/L1/opcm/OPContractsManagerV2.sol
Comment thread packages/contracts-bedrock/src/L1/opcm/OPContractsManagerV2.sol Outdated
Comment thread packages/contracts-bedrock/scripts/deploy/DeployOPChain.s.sol Outdated
Comment thread packages/contracts-bedrock/scripts/deploy/DeployOPChain.s.sol Outdated
Comment thread packages/contracts-bedrock/src/L1/opcm/OPContractsManagerV2.sol Outdated
Comment thread packages/contracts-bedrock/test/L1/opcm/OPContractsManagerV2.t.sol Outdated
Comment thread packages/contracts-bedrock/test/L1/opcm/OPContractsManagerV2.t.sol Outdated
Comment thread packages/contracts-bedrock/test/opcm/DeployOPChain.t.sol Outdated
Comment thread packages/contracts-bedrock/src/L1/opcm/OPContractsManagerV2.sol
@mds1 mds1 added this pull request to the merge queue Jul 10, 2026
Merged via the queue into develop with commit 615b1c7 Jul 10, 2026
172 checks passed
@mds1 mds1 deleted the feat/pcd-permissionless-opchain-deploy branch July 10, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[PCD] Remove permissioned-only guard and dead anchor placeholder

6 participants